package kz.pompei.var.model;

import kz.pompei.var.atom.Atomizer;
import kz.pompei.var.atom.concretes.SecondAtomizer;
import kz.pompei.var.error.ErrorReciever;

public class Context {
  private final ErrorReciever errorReciever;
  
  private Pack root;
  
  public Context(ErrorReciever errorReciever) {
    this.errorReciever = errorReciever;
  }
  
  public Pack getRoot() {
    if (root == null) root = new Pack(getErrorReciever());
    return root;
  }
  
  public ErrorReciever getErrorReciever() {
    return errorReciever;
  }
  
  public Atomizer createNewAtomizer() {
    return new SecondAtomizer();
  }
  
}
